Source for file SC_MobileUserAgent.php
Documentation is available at SC_MobileUserAgent.php
* This file is part of EC-CUBE
* Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
* http://www.lockon.co.jp/
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
require_once(dirname(__FILE__
) .
'/../module/Net/UserAgent/Mobile.php');
* 対象とする携帯端末は $_SERVER から決定する。
* 文字列は docomo, ezweb, softbank のいずれか。
* @return string|false携帯端末のキャリアを表す文字列を返す。
$objAgent =
& Net_UserAgent_Mobile::singleton();
if (Net_UserAgent_Mobile::isError($objAgent)) {
switch ($objAgent->getCarrierShortName()) {
* 勝手サイトで利用可能な携帯端末/利用者のIDを取得する。
* + softbank ... 端末シリアル番号
* @return string|false取得したIDを返す。取得できなかった場合は false を返す。
$objAgent =
& Net_UserAgent_Mobile::singleton();
if (Net_UserAgent_Mobile::isError($objAgent)) {
} elseif ($objAgent->isDoCoMo() ||
$objAgent->isVodafone()) {
$id =
$objAgent->getSerialNumber();
} elseif ($objAgent->isEZweb()) {
$id =
@$_SERVER['HTTP_X_UP_SUBNO'];
return isset
($id) ?
$id :
false;
* 携帯端末ではない場合はユーザーエージェントの名前を取得する。(例: "Mozilla")
* @return string 携帯端末のモデルを表す文字列を返す。
$objAgent =
& Net_UserAgent_Mobile::singleton();
if (Net_UserAgent_Mobile::isError($objAgent)) {
} elseif ($objAgent->isNonMobile()) {
return $objAgent->getName();
return $objAgent->getModel();
* EC-CUBE がサポートする携帯キャリアかどうかを判別する。
* @return boolean サポートしている場合は true、それ以外の場合は false を返す。
$objAgent =
& Net_UserAgent_Mobile::singleton();
if (Net_UserAgent_Mobile::isError($objAgent)) {
return $objAgent->isDoCoMo() ||
$objAgent->isEZweb() ||
$objAgent->isVodafone();
* EC-CUBE がサポートする携帯キャリアかどうかを判別する。
* @return boolean 携帯端末ではない場合は true、それ以外の場合は false を返す。
* EC-CUBE がサポートする携帯端末かどうかを判別する。
* @return boolean サポートしている場合は true、それ以外の場合は false を返す。
$objAgent =
& Net_UserAgent_Mobile::singleton();
// 携帯端末だと認識されたが、User-Agent の形式が未知の場合
if (Net_UserAgent_Mobile::isError($objAgent)) {
if ($objAgent->isDoCoMo()) {
$arrUnsupportedSeries =
array('501i', '502i', '209i', '210i');
$arrUnsupportedModels =
array('SH821i', 'N821i', 'P821i ', 'P651ps', 'R691i', 'F671i', 'SH251i', 'SH251iS');
return !in_array($objAgent->getSeries(), $arrUnsupportedSeries) &&
!in_array($objAgent->getModel(), $arrUnsupportedModels);
} elseif ($objAgent->isEZweb()) {
return $objAgent->isWAP2();
} elseif ($objAgent->isVodafone()) {
return $objAgent->isPacketCompliant();
// 携帯端末ではない場合はサポートしていることにする。
Documentation generated on Tue, 28 Apr 2009 18:13:35 +0900 by phpDocumentor 1.4.2